home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Sound Cards
/
Programming Sound Cards.iso
/
sound_68
/
ctv-mod.txt
< prev
next >
Wrap
Text File
|
1995-01-01
|
5KB
|
120 lines
To assist the developpers, we provide tools for developping
applications with Creative Voice System. These tools come in the
form of driver, library functions and link module.
CTV-MOD, is a Microsoft C's link module for supporting the 8-bit
voice data without file header and data compression. The source
code CTV-MOD.ASM is provided for developpers to tailor this module
to any model they desire.
Three global variables have to be declared in the main program.
They are unsigned integer:
a. io_addx: the card's selectable I/O address used.
value range : 210, 220, 230, 240, 250 and 260
factory default : 220 hex
b. intr_num: the interrupt used for voice output.
factory default : 7
c. voice_status: the status word that indicates the status of voice
output
The functions provided are as follow:
1. Function : unint ctv_card_here()
Description: check for the availabilities of the various
music/sound features provided by Creative.
The check is based on the IO address stored in
the global variable io_addx which is defined in
the application program.
Entry : none
Return : Music/sound features available as shown below :
The high byte is always zero.
The low byte is defined as :
bit 0 : set if C/MS music available
bit 1 : set if FM music available
bit 2 : set if Creative voice available
The type of Creative music/sound card can be
determined from the return value. The
GameBlaster card will return 1, the SoundBlaster
will return 7 if the FM option is installed or 5
if the FM option is not installed.
A zero return value may be due to wrong IO
address value in the global value io_addx.
2. Function : int ctv_detect()
Description: detects the existence and functionality of the
voice card and turn on the speaker by defualt.
Entry : none
Return : 0, sucessfully initialize
1, voice card fails
2, I/O read/write fails
3, interrupt for DMA fails
Note : when a non-zero value is returned, it indicates
an error, the program should abort.
Before this function is called, the global
variable io_addx and intr_num must be set to the
correct value.
3. Function : void ctv_speaker(int on_off_flag)
Description: turns on/off the speaker.
Entry : the integer value on_off_flag set the status of
the voice output speaker. A non-zero value turns
the speaker on else turns it off.
Entry : none
4. Function : int ctv_output(char far* buffer,
unsigned int buffer_len,
unsigned int sampling_rate)
Description: outputs the voice
Entry : buffer is a far pointer to the voice data.
buffer_len is the length of the voice data.
sampling_rate is the sampling rate used when the
voice is recorded, range 6000 - 18000Hz.
Exit : 0, sucessfull
1, error because currently there is voice being
output or paused, voice_status is not zero.
Note : while the voice being output, status_word is
updated to a non-zero value. At the end,
status_word is set to zero again.
5. Function : int ctv_pause()
Description: puases the voice currently being output
Entry : none
Exit : 0, sucessfull
1, error, no voice is currently output
6. Function : int ctv_continue()
Description: continues the paused voice output
Entry : none
Exit : 0, sucessfull
1, error, no voice output is currently pause
7. Function : int ctv_halt()
Description: halts the voice currently being output
Entry : none
Exit : 0, sucessfull
1, error, no voice is currently output
8. Function : void ctv_uninstall()
Description: turn off the speaker and stop the voice output,
if any.
Entry : none
Exit : none